1. Field of the Invention
The present invention relates to prioritization methods and apparatus in a packet communication network. The invention is applicable to, for example, node apparatus (such as a router) in a packet switching network using the Transmission Control Protocol/Internet Protocol (TCP/IP).
2. Description of the Related Art
TCP/IP packet switching networks having IP routers as node apparatus transmit vast amounts of information requiring many different types of quality of service. When much information is transmitted at once, congestion may occur in the network as a whole, or in a particular IP router, which is then forced to drop (discard) packets. If packets caught in the congestion are dropped without regard to their quality-of-service requirements, urgent packets may be lost.
To prevent such loss, packets are conventionally prioritized according to their required quality of service, which is determined from the type of upper-level application for which the packets are being transmitted. The priority is written in, for example, the IP header of each transmitted packet by software in an upper-level layer in which the service requirements and traffic characteristics of different applications are managed.
All packets-belonging to an individual flow thus receive the same priority. The term ‘individual flow’ as used herein refers to a group of packets transmitted from a transmitting terminal to a receiving terminal, carrying common information, which is divided among the packets. The packets constituting an individual flow are processed and transmitted so as to provide a quality of service consistent with their priority.
Due to the vast amount of communication traffic now carried by communication networks, the number of individual flows present on a typical network at any one time is very large, and there are usually many individual flows having the same priority. If individual flows having the same priority become congested in an IP router, as not infrequently occurs, then despite their equal priority, the IP router may arbitrarily discard packets belonging to one of the individual flows and not discard packets belonging to another one of the individual flows.
In a TCP/IP packet switching network, for example, an individual flow A involving a long sequence of packets containing a large amount of information may cause congestion in an IP router that is also handling a smaller individual flow B with the same priority. In this case, although flow A is the cause of the congestion, the IP router may decide to discard packets in flow B rather than packets in flow A. The result is unfair and inefficient allocation of network resources such as buffer memory space in communication equipment and bandwidth on communication channels interconnecting the communication equipment: despite its tendency to cause congestion, flow A is allowed to use these network resources while flow B is squeezed out.
In order to solve this problem, when congestion occurs in an IP router or other node equipment, or in a network as a whole, there is a need to prioritize individual flows according to their actual traffic characteristics, rather than according to the quality of service assigned to them.